// import sparkMD5 from "spark-md5"

import type { FileChunk } from "./type"

export async function createFileChunk(index: number, size: number, FILE: File): Promise<FileChunk> {
  // const spark = new sparkMD5.ArrayBuffer()
  /**
   * 这里要先将文件的二进制数据读取出来，再传入到spark中，因为spark只能处理二进制数据，不能处理File对象【File对象是一个文件的元数据】
   * 读取完毕之后，再将文件的二进制数据传入到spark中，计算出文件的md5值
   * spark-md5 地址：https://www.npmjs.com/package/spark-md5
   */
  return new Promise((resolve) => {
    const chunk = FILE.slice(index * size, (index + 1) * size)

    resolve({
      start: index * size,
      end: (index + 1) * size,
      index,
      // hash: spark.end(),
      totalSize: FILE.size,
      chunk,
      filename: FILE.name
    })
  })
}
